মেশিন লার্নিং মডেল তৈরি এবং প্রশিক্ষণ করার পর, মডেলের কার্যকারিতা মূল্যায়ন করা অত্যন্ত গুরুত্বপূর্ণ। এর মাধ্যমে আমরা জানি যে আমাদের মডেল কতটা কার্যকরী, অর্থাৎ এটি কেমন কাজ করছে এবং কতটা নির্ভরযোগ্য। মডেল ইভালুয়েশন মেট্রিক্স যেমন Accuracy, Precision, Recall, এবং F1 Score আমাদের মডেলটির পারফরম্যান্স বিশ্লেষণ করতে সাহায্য করে।
১. Accuracy (সঠিকতা)
Accuracy হল মডেলের সামগ্রিক সঠিকতা, অর্থাৎ মডেল কতটা সঠিকভাবে পূর্বাভাস করছে। এটি পুরো ডেটাসেটের মধ্যে সঠিক পূর্বাভাসের শতাংশ হিসাবে গণনা করা হয়।
ফর্মুলা:
এখানে:
- True Positives (TP): সঠিকভাবে পজিটিভ শ্রেণী পূর্বাভাস করা।
- True Negatives (TN): সঠিকভাবে নেগেটিভ শ্রেণী পূর্বাভাস করা।
- False Positives (FP): ভুলভাবে পজিটিভ শ্রেণী পূর্বাভাস করা।
- False Negatives (FN): ভুলভাবে নেগেটিভ শ্রেণী পূর্বাভাস করা।
ব্যবহার:
Accuracy সাধারণত যখন শ্রেণীগুলির মধ্যে সমান ডিস্ট্রিবিউশন থাকে, তখন ভালো কাজ করে।
উদাহরণ:
from sklearn.metrics import accuracy_score
y_true = [1, 0, 1, 1, 0, 1] # প্রকৃত মান
y_pred = [1, 0, 1, 0, 0, 1] # পূর্বাভাস
accuracy = accuracy_score(y_true, y_pred)
print(f"Accuracy: {accuracy}")
২. Precision (প্রিসিশন)
Precision হল সঠিকভাবে পজিটিভ শ্রেণী পূর্বাভাস করার অনুপাত। এটি ভুল পজিটিভের হার (False Positives) কমানোর জন্য গুরুত্বপূর্ণ, বিশেষত যখন আমরা নিশ্চিত হতে চাই যে আমাদের মডেল পজিটিভ শ্রেণী সঠিকভাবে চিহ্নিত করছে।
ফর্মুলা:
ব্যবহার:
Precision সাধারণত গুরুত্বপূর্ণ যখন ভুল পজিটিভ (False Positives) কমানো প্রয়োজন, যেমন স্প্যাম মেইল সনাক্তকরণে।
উদাহরণ:
from sklearn.metrics import precision_score
precision = precision_score(y_true, y_pred)
print(f"Precision: {precision}")
৩. Recall (রিকল) / Sensitivity
Recall (যাকে Sensitivity বা True Positive Rateও বলা হয়) হল সঠিকভাবে পজিটিভ শ্রেণী পূর্বাভাস করার অনুপাত, তবে এটি False Negatives (FN) কমানোর উপর ফোকাস করে। এটি আমাদের জানায়, প্রকৃত পজিটিভের মধ্যে কত শতাংশ সঠিকভাবে চিহ্নিত হয়েছে।
ফর্মুলা:
ব্যবহার:
Recall সাধারণত গুরুত্বপূর্ণ যখন False Negatives (FN) কমানো প্রয়োজন, যেমন মেডিকেল ডায়াগনসিসে যেখানে রোগী মিস হওয়া উচিত নয়।
উদাহরণ:
from sklearn.metrics import recall_score
recall = recall_score(y_true, y_pred)
print(f"Recall: {recall}")
৪. F1 Score
F1 Score হল Precision এবং Recall এর হারমোনিক গড়। এটি Precision এবং Recall উভয়কেই বিবেচনায় নেয় এবং একটি একক পরিমাপ প্রদান করে। যখন Precision এবং Recall মধ্যে ভারসাম্য বজায় রাখতে হয়, তখন F1 Score ব্যবহৃত হয়।
ফর্মুলা:
ব্যবহার:
F1 Score সাধারণত গুরুত্বপূর্ণ যখন Precision এবং Recall এর মধ্যে একটি ভাল ভারসাম্য প্রয়োজন এবং কোন একটি মেট্রিকের উপর বেশি ফোকাস করা ঠিক হবে না।
উদাহরণ:
from sklearn.metrics import f1_score
f1 = f1_score(y_true, y_pred)
print(f"F1 Score: {f1}")
যখন কোন Metric ব্যবহার করবেন:
- Accuracy:
- যখন ডেটাতে সঠিক এবং ভুল শ্রেণী সমানভাবে বিতরিত থাকে এবং আপনি একটি সাধারণ মেট্রিক চান।
- Precision:
- যখন False Positive (FP) কমানো প্রয়োজন, অর্থাৎ, আপনি ভুলভাবে পজিটিভ শ্রেণী চিহ্নিত করতে চান না।
- উদাহরণ: স্প্যাম মেইল ডিটেকশন, যেখানে False Positive একটি বড় সমস্যা।
- Recall:
- যখন False Negative (FN) কমানো প্রয়োজন, অর্থাৎ, আপনি নিশ্চিত করতে চান যে পজিটিভ শ্রেণী মিস না হয়।
- উদাহরণ: মেডিকেল ডায়াগনসিস, যেখানে রোগী মিস হওয়া উচিত নয়।
- F1 Score:
- যখন Precision এবং Recall উভয়কে সমানভাবে গুরুত্ব দিতে চান এবং একটি ভারসাম্যপূর্ণ পরিমাপ চান।
- উদাহরণ: অনেক কেসে, যেমন ক্লাসিফিকেশন যেখানে উভয় মেট্রিকই গুরুত্বপূর্ণ (যেমন, ম্যালওয়্যার ডিটেকশন, যেখানে False Positives এবং False Negatives উভয়ই খারাপ)।
সারাংশ:
- Accuracy হল সঠিক পূর্বাভাসের শতাংশ।
- Precision হল সঠিকভাবে চিহ্নিত পজিটিভদের অনুপাত।
- Recall হল প্রকৃত পজিটিভগুলির মধ্যে কত শতাংশ সঠিকভাবে চিহ্নিত হয়েছে।
- F1 Score হল Precision এবং Recall এর মধ্যে একটি ভারসাম্যপূর্ণ পরিমাপ।
এই মেট্রিক্সগুলি সঠিকভাবে মডেল মূল্যায়ন করতে সহায়ক এবং আপনার মডেলের পারফরম্যান্স বুঝতে গুরুত্বপূর্ণ।
Read more